home *** CD-ROM | disk | FTP | other *** search
- %%% ======================================================================
- %%% @LaTeX-style-file{
- %%% filename = "setspace.sty",
- %%% version = "3.1",
- %%% date = "25 May 1994",
- %%% time = "10:21:09.67 CDT",
- %%% author = "George D. Greenwade",
- %%% address = "Department of Economics and Business Analysis
- %%% College of Business Administration
- %%% P. O. Box 2118
- %%% Sam Houston State University
- %%% Huntsville, Texas, USA 77341-2118",
- %%% email = "bed_gdg@SHSU.edu (Internet)
- %%% BED_GDG@SHSU (BITNET)
- %%% SHSU::BED_GDG (THENET)",
- %%% telephone = "(409) 294-1266",
- %%% FAX = "(409) 294-3712",
- %%% supported = "yes",
- %%% archived = "SHSU*",
- %%% keywords = "LaTeX style, spacing, doublespace, half spacing,
- %%% modifications to original",
- %%% codetable = "ISO/ASCII",
- %%% checksum = "14962 309 1381 13018",
- %%% docstring = "This is a very quick hack to get setspace.sty
- %%% to work with LaTeX2e as well as 2.09 with and
- %%% without NFSS -- but it does work on the small
- %%% test I've run. Comments welcome!
- %%%
- %%% The primitive logic is that we can test for
- %%% the existence the definition of
- %%% \selectfont -- not in LaTeX 2.09 without NFSS
- %%% (prior toggle -- version 2.x)
- %%% \@newbaseline -- defined in NFSS but not in
- %%% LaTeX 2e (current toggle -- version 3.0)
- %%%
- %%% This is a modification to Erica Harris'
- %%% setspace.sty. The main aspects of this
- %%% modification deal with the definitions of
- %%% \doublespacing, \onehalfspacing, and
- %%% \singlespacing (these are near the beginning of
- %%% the file). Primarily, these deal with adding
- %%% fontsize changes to guarantee that the new
- %%% baseline is properly defined and placed into
- %%% action. The extra \vskip in the definition of
- %%% \singlespacing seems to make for a cleaner
- %%% transition from multiple spacing back to single
- %%% spacing. These did not appear warrranted for
- %%% other size changes.
- %%%
- %%% Modified by GDG on November 1, 1992, to allow
- %%% for use of New Font Selection Scheme.
- %%%
- %%% Modified by GDG on June 4, 1993, to correct
- %%% for spacing tokens in defintion of \@setsize
- %%% Thanks to Kaja P. Christiansen <kaja@daimi.aau.dk>
- %%% for the fix!!
- %%%
- %%% Modified by GDG on May 24, 1994, to change toggle
- %%% definition from \selectfont to \@newbaseline.
- %%%
- %%% Modified by GDG on May 25, 1994, to add
- %%% definition of \everydisplay -- this part of
- %%% the code was apparently written by Geoffrey
- %%% Tobin on Thu 23 Jan 1992 and was provided by
- %%% stanton@haas.berkeley.edu (Richard Stanton).
- %%% This should help with some of the awkward math
- %%% placements in changing spacings.
- %%%
- %%% The original headers of the main file cover the
- %%% major aspects of this file and its use.
- %%%
- %%% The checksum field above contains a CRC-16
- %%% checksum as the first value, followed by the
- %%% equivalent of the standard UNIX wc (word
- %%% count) utility output of lines, words, and
- %%% characters. This is produced by Robert
- %%% Solovay's checksum utility."
- %%% }
- %%% ======================================================================
- %% FILE: setspace.sty in SYS2.TEX.PUB.ISULATEX.STYLES
- %% AUTHOR: Erica M. S. Harris
- %% DATE: April 1990
- %% MOD: March 1991
- %% DESCR: LaTeX Document style option "setspace"
- %% Usage: \documentstyle[...,setspace,...]{...}
- %% Based on the doublespace option created by Stephen Page.
- %%
- %% This style option provides commands and environments for doing
- %% double and one-and-a-half spacing based on pt size.
- %%
- %% Single spacing is the default.
- %%
- %% Three commands, \doublespacing, \onehalfspacing, and
- %% \singlespacing, are for use in the preamble to set the overall
- %% spacing for the document. If a different spacing is required then
- %% the \setstretch{baselinestretch} command can be used in the
- %% preamble to set the baselinestretch appropriately. The default
- %% spacing with this style option is single spacing.
- %%
- %% Three environments, singlespace, onehalfspace, and doublespace,
- %% allow the spacing to be changed within the document. Both the
- %% onehalfspace and doublespace environments are intended to increase
- %% the spacing, so the onehalfspace environment should not be used in
- %% a double spaced document. If an increased spacing different from
- %% one-and-a-half or double spacing is required then the spacing
- %% environment can be used. The spacing environment takes one
- %% argument which is the larger baselinestretch to use,
- %% e.g., \begin{spacing}{2.5}.
- %%
- %% \footins is adjusted the same as \parskip - appears to work. Lose
- %% stretch parts but don't consider that to be crucial
- %%
- %% Removed code for altering spacing before and after displayed
- %% equations - just looked too much.
- %%
- %% MODS:
- %% Redefinition of \spacing and \endspacing for consistency with
- %% TeX 3.x inserted by George Greenwade. Modification provided by
- %% Philip Ross (ROSS@UK.AC.ABDN.BIOMED) and John Byrne via INFO-TeX.
- %%
- %% PLEASE REPORT ANY BUGS
- %%
- %% Old Documentation follows:
- %% 1. A new environment "singlespace" is provided, within which single
- %% spacing will apply.
- %% JFL - changed so that it works in regular text and so that
- %% vertical space before and after is correctly computed
- %% 2. Double spacing is turned off within footnotes and floats (figures
- %% and tables).
- %% 3. Proper double spacing happens below tabular environments and in
- %% other places where LaTeX uses a strut.
- %% 4. Slightly more space is inserted before footnotes.
- %% 5. JFL - fixes spacing before and after displayed math
- %%
- %%
- %% mods: Jean-Francois Lamy
- %% lamy@ai.toronto.edu
- %% lamy@utai.uucp
- %%
- %% POSSIBLE BUGS:
- %% . Increasing struts may possibly cause some other obscure part of
- %% formatting to fall over.
- %% . \begin{singlespace}\begin{quote} produces the wrong spacing before
- %% the quote (extra glue is inserted).
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
- \def\doublespacing{\ifcase \@ptsize \relax % 10pt
- \def\baselinestretch{1.667}
- \or % 11pt
- \def\baselinestretch{1.618}
- \or % 12pt
- \def\baselinestretch{1.655}
- \fi
- \ifx\undefined\@newbaseline% NFSS not present; 2.09 or 2e
- \ifx\@currsize\normalsize\@normalsize\else\@currsize\fi%
- \else% NFSS (2.09) present
- \@newbaseline%
- \fi%
- }
-
- \def\onehalfspacing{\ifcase \@ptsize \relax % 10pt
- \def\baselinestretch{1.25}
- \or % 11pt
- \def\baselinestretch{1.213}
- \or % 12pt
- \def\baselinestretch{1.241}
- \fi
- \ifx\undefined\@newbaseline% NFSS not present; 2.09 or 2e
- \ifx\@currsize\normalsize\@normalsize\else\@currsize\fi%
- \else% NFSS (2.09) present
- \@newbaseline%
- \fi%
- }
-
- \def\singlespacing{\def\baselinestretch{1}
- \ifx\undefined\@newbaseline% NFSS not present; 2.09 or 2e
- \ifx\@currsize\normalsize\@normalsize\else\@currsize\fi%
- \else% NFSS (2.09) present
- \@newbaseline%
- \fi%
- \vskip\baselineskip% Correction for coming into singlespace
- }
-
- \def\setstretch#1{\renewcommand{\baselinestretch}{#1}}
-
- %---Stretch the baseline BEFORE calculating the strut size. This improves
- % spacing below tabular environments etc., probably...
- % Comments are welcomed.
-
- \ifx\undefined\@newbaseline% NFSS not present; 2.09 or 2e
- \def\@setsize#1#2#3#4{\@nomath#1%--modified 1993.04.07--GDG per KPC
- \let\@currsize#1\baselineskip
- #2\baselineskip\baselinestretch\baselineskip
- \parskip\baselinestretch\parskip
- \setbox\strutbox\hbox{\vrule height.7\baselineskip
- depth.3\baselineskip width\z@}%
- \skip\footins \baselinestretch\skip\footins
- \normalbaselineskip\baselineskip#3#4}
- \else% NFSS (2.09) present
- \def\@newbaseline{\setnew@baselineskip
- \baselineskip\baselinestretch\baselineskip
- \setbox\strutbox\hbox{\vrule\@height.7\baselineskip
- \@depth.3\baselineskip \@width\z@}%
- \normalbaselineskip\baselineskip}%
- \fi%
-
- %---Increase the space between last line of text and footnote rule.
- %\skip\footins 20pt plus4pt minus4pt
-
- %---Reset baselinestretch within footnotes and floats.
-
- \def\@xfloat#1[#2]{\ifhmode \@bsphack\@floatpenalty -\@Mii\else
- \@floatpenalty-\@Miii\fi\def\@captype{#1}\ifinner
- \@parmoderr\@floatpenalty\z@
- \else\@next\@currbox\@freelist{\@tempcnta\csname ftype@#1\endcsname
- \multiply\@tempcnta\@xxxii\advance\@tempcnta\sixt@@n
- \@tfor \@tempa :=#2\do
- {\if\@tempa h\advance\@tempcnta \@ne\fi
- \if\@tempa t\advance\@tempcnta \tw@\fi
- \if\@tempa b\advance\@tempcnta 4\relax\fi
- \if\@tempa p\advance\@tempcnta 8\relax\fi
- }\global\count\@currbox\@tempcnta}\@fltovf\fi
- \global\setbox\@currbox\vbox\bgroup
- \def\baselinestretch{1}\@normalsize
- \boxmaxdepth\z@
- \hsize\columnwidth \@parboxrestore}
-
- \long\def\@footnotetext#1{\insert\footins{\def\baselinestretch{1}\footnotesize
- \interlinepenalty\interfootnotelinepenalty
- \splittopskip\footnotesep
- \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
- \hsize\columnwidth \@parboxrestore
- \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@makefntext
- {\rule{\z@}{\footnotesep}\ignorespaces
- #1\strut}}}
-
- % A single spaced quote (say) is done by surrounding singlespace with quote.
- %
- \def\singlespace{%
- \vskip\baselineskip%
- \def\baselinestretch{1}%
- \ifx\undefined\@newbaseline% NFSS not present; 2.09 or 2e
- \ifx\@currsize\normalsize\@normalsize\else\@currsize\fi%
- \else% NFSS (2.09) present
- \@newbaseline%
- \fi%
- \vskip-\baselineskip}
-
- \def\endsinglespace{\par}
-
- % spacing, doublespace and onehalfspace all are meant to INCREASE the
- % spacing (i.e. calling onehalfspace from within doublespace will not
- % produce a graceful transition between spacings)
- %
- % Next two definitions fixed for consistency with TeX 3.x
- \def\spacing#1{\par%
- \begingroup % moved from \endspacing by PGBR 29-1-91
- \def\baselinestretch{#1}%
- \ifx\undefined\@newbaseline% NFSS not present; 2.09 or 2e
- \ifx\@currsize\normalsize\@normalsize\else\@currsize\fi%
- \else% NFSS (2.09) present
- \@newbaseline%
- \fi%
- }
-
- \def\endspacing{\par%
- \vskip \parskip%
- \vskip \baselineskip%
- \endgroup%
- \vskip -\parskip%
- \vskip -\baselineskip}
-
- % one and a half spacing is 1.5 x pt size
- \def\onehalfspace{\ifcase \@ptsize \relax % 10pt
- \spacing{1.25}
- \or % 11pt
- \spacing{1.213}
- \or % 12pt
- \spacing{1.241}
- \fi}
- \let\endonehalfspace=\endspacing
-
- % double spacing is 2 x pt size
- \def\doublespace{\ifcase \@ptsize \relax % 10pt
- \spacing{1.667}
- \or % 11pt
- \spacing{1.618}
- \or % 12pt
- \spacing{1.655}
- \fi}
- \let\enddoublespace=\endspacing
-
- % gt - EMSH chose to omit display math part that follows.
- % She wrote (see above) that the "altered spacing before and after displayed
- % equations ... just looked too much".
- %
- % Fix up spacing before and after displayed math
- % (arraystretch seems to do a fine job for inside LaTeX displayed math,
- % since array and eqnarray seem to be affected as expected).
- % Changing \baselinestretch and doing a font change also works if done here,
- % but then you have to change @setsize to remove the call to @nomath)
- %
- \everydisplay{
- \abovedisplayskip \baselinestretch\abovedisplayskip%
- \belowdisplayskip \abovedisplayskip%
- \abovedisplayshortskip \baselinestretch\abovedisplayshortskip%
- \belowdisplayshortskip \baselinestretch\belowdisplayshortskip}
-
- \endinput
-